package org.mcflier.appuntamento.io.driver.db.interfaces;

import java.util.List;

import org.mcflier.appuntamento.i18n.Country;
import org.mcflier.appuntamento.io.exception.JDBCConnectionException;
import org.mcflier.appuntamento.io.exception.JDBCStatementException;
import org.mcflier.appuntamento.io.exception.JDBCTransactionException;

public interface IJDBCCountryDriver {

	public boolean addCountry(Country country, boolean useTransaction) throws JDBCTransactionException, JDBCStatementException, JDBCConnectionException;
	
	public int addCountries(List<Country> countries) throws JDBCTransactionException, JDBCStatementException, JDBCConnectionException; 
	
	public boolean existsCountry(String code) throws JDBCStatementException, JDBCConnectionException;
	
	//Return a list with the stored countries' id
	public List<String> existCountries(List<String> codes) throws JDBCStatementException, JDBCConnectionException;
	
	public Country getCountry(String code) throws JDBCStatementException, JDBCConnectionException;
	
	public List<Country> getMovieCountriesProduction(String idMovie) throws JDBCStatementException, JDBCConnectionException;
	
	public boolean deleteCountry(String code, boolean useTransaction) throws JDBCTransactionException, JDBCStatementException, JDBCConnectionException;
}
